/* 自定义弹窗组件样式，仿照Element UI */
/* 变量定义已转换为具体值 */

/* 遮罩层 */
.custom-dialog-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2000;
  background-color: rgba(0, 0, 0, 0.5);
  overflow: auto;
}

.custom-dialog-overlay.is-hidden {
  display: none;
}

/* 弹窗容器 */
.custom-dialog {
  position: relative;
  margin: 15vh auto 50px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  width: 30%;
  min-width: 300px;
}

.custom-dialog.is-hidden {
  display: none;
}

/* 弹窗头部 */
.custom-dialog__header {
  padding: 20px 20px 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.custom-dialog__header .title {
  font-size: 18px;
  color: #303133;
  font-weight: 500;
  margin: 0;
  line-height: 24px;
}

.custom-dialog__header .close {
  color: #909399;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
}

.custom-dialog__header .close:hover {
  color: #409EFF;
}

/* 弹窗内容 */
.custom-dialog__body {
  padding: 10px 20px;
  color: #606266;
  font-size: 14px;
  word-break: break-all;
}

.custom-dialog__body.with-icon {
  display: flex;
  align-items: flex-start;
}

.custom-dialog__body .icon {
  margin-right: 10px;
  font-size: 24px;
}

.custom-dialog__body .icon.success {
  color: #67C23A;
}

.custom-dialog__body .icon.warning {
  color: #E6A23C;
}

.custom-dialog__body .icon.error {
  color: #F56C6C;
}

.custom-dialog__body .icon.info {
  color: #909399;
}

/* 弹窗底部 */
.custom-dialog__footer {
  padding: 10px 20px 20px;
  text-align: right;
}

/* 按钮样式 */
.custom-dialog__footer .btn {
  display: inline-block;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  background: #fff;
  border: 1px solid #dcdfe6;
  color: #606266;
  text-align: center;
  box-sizing: border-box;
  outline: none;
  margin: 0;
  transition: .1s;
  font-weight: 500;
  padding: 9px 15px;
  font-size: 12px;
  border-radius: 3px;
  margin-left: 10px;
}

.custom-dialog__footer .btn:first-child {
  margin-left: 0;
}

.custom-dialog__footer .btn.primary {
  color: #fff;
  background-color: #409EFF;
  border-color: #409EFF;
}

.custom-dialog__footer .btn.primary:hover {
  background-color: #66b1ff;
  border-color: #66b1ff;
}

.custom-dialog-btn-default:hover {
  color: #409EFF;
  border-color: #c6e2ff;
  background-color: #ecf5ff;
}

/* 内容样式 */
.custom-dialog__body .content {
  display: inline-block;
  vertical-align: middle;
}

.custom-dialog__body.with-icon {
  display: flex;
  align-items: center;
}

/* 动画效果 */
.custom-dialog-overlay.is-hidden,
.custom-dialog.is-hidden {
  display: none;
}

.custom-dialog-overlay:not(.is-hidden) {
  animation: custom-dialog-fade-in .3s;
}

.custom-dialog:not(.is-hidden) {
  animation: custom-dialog-fade-in .3s;
}

@keyframes custom-dialog-fade-in {
  0% {
    transform: translate3d(0, -20px, 0);
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes custom-dialog-fade-out {
  0% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
  100% {
    transform: translate3d(0, -20px, 0);
    opacity: 0;
  }
}

/* 图标样式 */
.custom-dialog__body .icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  text-align: center;
  line-height: 24px;
  margin-right: 10px;
  font-style: normal;
}

.custom-dialog__body .icon.success {
  color: #67C23A;
  background-color: rgba(103, 194, 58, 0.1);
}

.custom-dialog__body .icon.warning {
  color: #E6A23C;
  background-color: rgba(230, 162, 60, 0.1);
}

.custom-dialog__body .icon.error {
  color: #F56C6C;
  background-color: rgba(245, 108, 108, 0.1);
}

.custom-dialog__body .icon.info {
  color: #909399;
  background-color: rgba(144, 147, 153, 0.1);
}